#ifndef _NE_RECTANGLE_H_
#define _NE_RECTANGLE_H_

#include <mathematics/Geometry.h>

namespace ne
{
    class NEAPI Rectangle : public Geometry
    {
        public:
            Rectangle(const Vector2 &v=Vector2::ZERO, const real w=1.0f, const real h=1.0f);

            Rectangle(const Rectangle &r);

            Rectangle& operator = (const Rectangle &r);

            void redefine(const Vector2 &v=Vector2::ZERO, const real w=1.0f, const real h=1.0f);

            void setCenter(const Vector2 &v);

            Vector2 getCenter() const;

            virtual GeometryClass getClass() const;

            virtual ~Rectangle();

        public:
            Vector2 origin;
            real width;
            real height;
    };
}

#endif
